Informace o předmětu -------------------- Předmět je inspirovaný kurzem [How to Make (almost) Anything](http://cba.mit.edu/classes/index.html) který vede prof. Neil Gershenfeld na MIT. Doporučuji projít stránky předmětu (každý rok má svůj vlastní rozcestník), kde jsou podklady pro přednášky, recitace, tutoriály a stránky studentů, kde dokumentují svou práci. V materiálech se také budeme často odkazovat na podobný kurz na Harvardu [Introduction to Digital Fabrication](https://nathanmelenbrink.github.io/intro-dig-fab/index.html) Chceme vám poskytnou prostor, abyste se mohli učit sami a také od sebe navzájem (bez vaší aktivity to nepůjde). Požadavky --------- * Každý týden splnit úkol (rozsah podle svých schopností) a zdokumentovat na stránkách. Týdenní úkoly mohou ale nemusí být součástí závěrečného projektu. * Zpracovat a prezentovat závěrečný projekt (musí využívat několik probraných témat - minimálně 3D návrh a výrobu, elektroniku, programování) # Hodnocení ## Průběžné hodnocení během semestru Na konci semestru s vámi projdeme vaše stránky a každý týden ohodnotíme. Budeme zvlášť hodnotit každý týden: - **Hlavním podkladem pro hodnocení budou stránky.** - Dokumentace musí umožnit **replikaci postupu**, zachycovat **proces tvorby i finální výrobek**. - Text by měl být doplněn **obrázky, schématy, výrobními podklady, zdrojovými kódy, krátkými videi atd.** - **Každý týden splníte zadání a dokumentujete práci.** - Chceme vidět **vlastní invenci**, nejen reprodukci cizího postupu. - Můžete vyjít z existujícího návrhu, ale musí být jasně vidět **váš vlastní přínos**. - Dokumentujte včas, aby vaše výsledky mohly být prezentovány na další přednášce. ## Kritéria hodnocení ### **Podle čeho dostanete známku?** **Minimalistické řešení**: Pokud pouze využijete cizí návrh (zdrojový kód, model, apod.), jedná se o **minimum pro splnění**. **Lepší hodnocení (B nebo A)**: Je potřeba **jít extra míli**, přidat **vlastní invenci** a **kvalitně dokumentovat**. **Příprava na cvičení**: - Měli byste mít **nastudované návody**, připravené **vlastní návrhy/výrobní podklady**. - Cílem je, abyste se na cvičení mohli **soustředit na výrobu**. **Samostatnost a proaktivita**: - Ceníme si, když se **snažíte problémy řešit sami** (Google, ChatGPT, kolegové) před žádostí o asistenci. - Pozitivně hodnotíme, pokud **pomáháte ostatním**. **Dobrá dokumentace**: - Zachycuje nejen výsledek, ale i **proces tvorby**. - Obsahuje důležité **výrobní parametry, kroky výroby, slepé uličky**. **Projektové požadavky**: - **Integrovaný celek** – projekt by neměl působit jako nesourodá sbírka komponent. - **Neviditelné spoje** – žádné volné dráty nebo nepájivé pole v konečném řešení. ## Složky finálního hodnocení: - **Dokumentace jednotlivých projektů** (60 %) - **Dokumentace a prezentace závěrečného projektu** (20 %) - **Účast a aktivita** (20 %) ## Škála hodnocení dokumentace (0–5 bodů) - **3,5/5**: Splněno minimum, dobře zdokumentováno. - **4,5/5**: Projekt překračuje základní požadavky, dobře zdokumentováno. - **5/5**: Velmi dobrý projekt s vynikající dokumentací. ## Ideální průchod kurzem: - **Každý týden splnit zadání** (věnujte pozornost všem bodům) a vyrobit něco zajímavého. - **Chodit připravení na cvičení** s návrhy a výrobními podklady. - **Snažit se řešit problémy samostatně** a případně pomáhat ostatním. - **Dokumentovat včas**, aby výsledky mohly být prezentovány na další přednášce. - **Nejlepší praxe**: Dokumentujte **hned při práci**, případné vyšperkování lze provést dodatečně. Projekt ------- * Musí zahrnovat co nejvíce probraných témat - alespoň: 3D design, aditivní nebo subtraktivní výrobní proces, návrh a výrobu elektroniky, programování mikrokontroleru, integraci všech částí v jeden celek * Projekt může být individuální nebo i týmový, ale každý student musí za sebe demonstrovat zvládnutí všech dovedností a prezentovat svoji práci. * V prezentaci odpovězte například na tyto otázky: Co to dělá? Co bylo uděláno dříve? Co jste navrhli a vyrobili sami? Jaké jste použili materiály a komponenty? Odkud se vzaly? Kolik stály? Co vám fungovalo, co ne, a jak jste to zhodnotili? Co jste udělali a co ještě zbývá udělat? Co jste se naučili? * Připravte jeden slajd a minutové video, které ukáže koncepci, konstrukci a provoz. * V případě, že projekt prezentujete ještě v jiném předmětu (např. LPE, LAR), tak by objem práce měl odpovídat součtu časových dotací. * Projekt by měl být vaše práce, tedy nestačí vzít cizí výrobní podklady a postupovat podle návodu. Osobní stránky -------------- * Umístěné v repozitáři na GitLabu publikované přes GitLab Pages * Adresa `https://b242_b3b35jvc.pages.fel.cvut.cz/%USERNAME%` * Obsah stránek: * Rozcestník na záznam z každého týdne * Osobní profil - pár vět o vás * Samostatnou stránku věnovanou závěrečnému projektu * Na GitLab nenahrávejte zbytečně velké soubory - obrázky i videa komprimujte (ImageMagick, ffmpeg) * Příklady dobře vedených stránek z předchozích let: [Marek Broul](http://b222_b3b35jvc.pages.fel.cvut.cz/broulma1/), [Zuzana Jindrová](http://b222_b3b35jvc.pages.fel.cvut.cz/jindrzuz/), [Filip Korf](http://b222_b3b35jvc.pages.fel.cvut.cz/korffili/), [Šimon Pecháček](http://b222_b3b35jvc.pages.fel.cvut.cz/pechasim/) * Další příklady: [FabAcademy: Nadieh Bremer](https://www.visualcinnamon.com/2021/07/fabacademy/), [FabAcademy: Elena Cardiel](https://fabacademy.org/2019/labs/leon/students/elena-cardiel/diary.html), [HTMAA: Bo Heather Bowman](https://fab.cba.mit.edu/classes/863.21/Architecture/people/BoHeatherBowman/Tips-and-Tricks-(How-To).html) * Git a Gitlab [tutorial](navod_git.html) Materiál -------- * Pokud si to můžete dovolit a chcete vyrábět něco zajímavějšího (hodnotnějšího), co si odnesete, tak si součástky a materiál kupte. * Nějaký základní spotřební materiál (např. karton pro řezání laserem, či filamenty pro seznámení s 3D tiskem) seženeme. * Elektronické moduly a součástky zajistíme pro zapůjčení. První přednáška --------------- * Organizace předmětu * Představení vyučujících a studentů * Přednáška * Show & Tell - přineste ukázat, co jste vyrobili. * Diskuze nad několika vašimi stránkami (účast na přednáškách je povinná) * Úvod do tématu daného týdne (téma začínáme a končíme přednáškou) * Cvičení * Společný praktický úvod / školení na stroji * Skupinový úkol * Individuální práce + dokumentace * Noste si raději svůj PC * Inspirace * Blogy, servery, časopisy: [Hackaday](https://hackaday.com/), [Adafruit blog](https://blog.adafruit.com/), [Instructables](https://www.instructables.com/), [Hackster](https://www.hackster.io/), [Makezine](https://makezine.com/), [Hack Space](https://hackspace.raspberrypi.com/), [MagPi](https://magpi.raspberrypi.com/) * YT: [StuffMadeHere](https://www.youtube.com/@StuffMadeHere), [James Bruton](https://www.youtube.com/@jamesbruton), [Great Scott lab](https://www.youtube.com/@greatscottlab), [ThisOldTony](https://www.youtube.com/@ThisOldTony) * CAD * Fusion 360 (https://www.youtube.com/@ProductDesignOnline, https://www.youtube.com/@AutodeskFusion360, https://youtube.com/playlist?list=PLrZ2zKOtC\_-DR2ZkMaK3YthYLErPxCnT-) * OpenSCAD * [HTMAA: Parametric design Recitation](https://alfonso.pages.cba.mit.edu/recitations/parametric_design.html) * Git a stránky * [HTMAA: Git & HTML Recitation](https://fab.cba.mit.edu/classes/863.22/doc/git_recitation/index.html) [https://gitlab.com/pages](https://gitlab.com/pages) > ## Úkol > * Naplánujte si a načrtněte potenciální závěrečný projekt. > * Vymodelujte (obrázek, 2D, 3D, render, animace, simulace) svůj závěrečný projekt. > * Zmenšete své obrázky a videa. > * Umístěte popis a obrázky na své stránky. Stránky by měly obsahovat váš stručný profil, sekci o závěrečném projektu a připravené sekce (odkazy) pro jednotlivé úkoly. Cvičení ------- * Prohlídka prostor Strojovny * Bezpečností školení * Přihlaste se na [fakultní GitLab](https://gitlab.fel.cvut.cz) * Zkontrolujte, že na stránce `Projects` vidíte svůj repozitář `B242_B3B35JVC / %USERNAME%`. Pokud ne, tak poproste vyučujícího, aby vám ho vytvořil. * Založte si v něm složku `public` (tlačítko "+" a New Directory). * Ve složce si vytvořte nový soubor (tlačítko "+" a New File). * Pojmenujte ho `index.html`. ```html <!DOCTYPE html> <html> <title>Ahoj světe</title> <body> <h1>Ahoj světe</h1> <p>Můj první odstavec.</p> </body> </html> ``` * Pokud neznáte HTML mrkněte například sem [W3Schools: HTML Tutorial](https://www.w3schools.com/html/default.asp) * Pro uložení změn musíte v Git udělat tzv. commit (pokud budete později soubor měnit přes webové rozhraní, tak zvolte možnost ``Commit to main branch``, abyste pak nemuseli dělat merge.) * Nyní musíte nastavit automatický skript, který bude automaticky obsah adresáře `public/` publikovat na webovém serveru * V kořenu repozitáře vytvořte soubor `.gitlab-ci.yml` ```yml pages: stage: deploy environment: production script: - echo 'Nothing to do...' artifacts: paths: - public rules: - if: $CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH ``` * Tento skript se nyní bude automaticky spouštět, když uděláte změny v repozitáři. * **Tento krok přeskočte, kvůli oprávněním je předem proveden vyučujícím** (Nyní je ještě potřeba v nastavení repozitáře (projektu) povolit Shared Runners (v levé nabídce `Settings / CI/CD / Runners / Enable shared runners for this project`) bez toho skript nebude fungovat.) * Pokud skript proběhl v pořádku, tak v nastavení `Deploy / Pages` uvidíte adresu svých stránek `https://b242_b3b35jvc.pages.fel.cvut.cz/%USERNAME%` Pokud má adresa složitější formát, tak v nastavení vypněte "Use unique domain" * [Návod na jednoduché statické HTML stránky využívající GitLab Pages](https://gitlab.com/pages/plain-html) * Zkuste na stránku přidat nějaké obrázky (nezapomeňte je před tím zmenšit např pomocí [ImageMagick](http://academy.cba.mit.edu/classes/computer_design/image.html)) * Vzhled stránky si můžete vylepšit pomocí CSS stylů ([W3Schools CSS Tutorial](https://www.w3schools.com/css/default.asp)) * Aby byly CSS styly konzistentní napříč více prohlížeči doporučujeme využít například ([Normalize.css](https://necolas.github.io/normalize.css/)) Každý prohlížeč má totiž nějaké drobé odchylky od CSS standartu. Toto je pouze jeden způsob jak to řešit. ([Návod](navod_normalize_css.html)) * Tvořit a editovat stránky přímo v HTML není úplně příjemné. Můžete zkusit použít generátor statistkých stránek (Static Site Generator GSS), který stránky vygeneruje ze struktorovaného textu. * Tento generátor si můžete spustit na svém počítači, nebo zkonfigurovat repozitář na GitLabu, aby se generování provedlo na serveru. Zde jsou příklady [https://gitlab.com/pages/](GitLab Pages examples). Populární generátory jsou například jekyll nebo hugo, ale volba je na vás. * Práce s Gitem přes webové rozhraní je možná, ale standardně se k němu připojujete přes klient ve svém počítači. Na Linuxu bude součástí systému. Na Windows můžete použít [Git for Windows](https://gitforwindows.org/) * Repozitář si můžete tzv. naklonovat na svůj počítač. Zde je tutorial pro základní práci s Git z příkazové řádky [Command line Git](https://docs.gitlab.com/ee/gitlab-basics/start-using-git.html). Hlavně budte potřebovat příkazy clone, add, commit, push, pull a status. Repozitář si můžete naklonovat pomocí HTTPS, pak budete muset pokaždé zadávat přihlašovací údaje, nebo pomocí SSH. K tomu si potřebujete na počítači vytvořit SSH klíč a jeho veřejnou část dát na GitLab. [A quick GitLab SSH key configuration example](https://www.theserverside.com/blog/Coffee-Talk-Java-News-Stories-and-Opinions/How-to-configure-GitLab-SSH-keys-for-secure-Git-connections). * Pro inspiraci se můžete podívat na stránky [studentů minulého běhu]((https://b232_b3b35jvc.pages.fel.cvut.cz/prednasky/lide.html)), nebo studentů [How to make (almost) anything](https://fab.cba.mit.edu/classes/863.23/people.html). Další reference --------------- * [Computer-Aided Design](http://academy.cba.mit.edu/classes/computer_design/index.html) * [Project Presentation](http://academy.cba.mit.edu/classes/project_presentation/index.html) * [Project Development](http://academy.cba.mit.edu/classes/project_development/index.html) * [FAB LAB links](http://fab.cba.mit.edu/about/faq/) * [Digital Fabrication presentation](http://ng.cba.mit.edu/show/script/22.09.fab.html) * [IDF: HTML Tags](https://nathanmelenbrink.github.io/lab/website/codetags.html) * [IDF: How to Make a Website](https://nathanmelenbrink.github.io/lab/website/htmlcss.html) --- <ul class="pager"> <li class="previous"><a href="tyden1.html">← Předchozí týden</a></li> <li><a href="index.html">Index</a></li> <li class="next"><a href="tyden2.html">Další týden →</a></li> </ul>